package com.zmn.oms.dubbo.interfaces.zmn.serviceprovider.order;


import com.zmn.common.dto.ResponseDTO;
import com.zmn.oms.dubbo.dto.zmn.order.CancelOrderDIO;
import com.zmn.oms.dubbo.dto.zmn.order.CheckReworkOrderDIO;
import com.zmn.oms.dubbo.dto.zmn.order.UpdateOrderDRO;
import com.zmn.oms.dubbo.dto.zmn.order.serviceprovider.*;

/**
 * 类描述：服务商  订单操作
 *
 * @author yule
 * @date 2019/05/16 16:05
 */
@Deprecated
public interface OrderRemoteService {

	/**
	 * 获取修改工单对象
	 *
	 * @param orderId
	 * @return
	 */
	ResponseDTO<UpdateOrderDRO> findOrderUpdateDetail(Long orderId);

	/**
	 * 修改订单
	 */
	ResponseDTO updateOrder(UpdateOrderDIO updateOrderDIO);

	/**
	 * 保存备注
	 */
	ResponseDTO saveRemark(OrderRemarkDIO remarkDIO);

	/**
	 * 保存收单页面
	 */
	ResponseDTO saveCheckout(CheckOutDIO checkOutDIO);

	/**
	 * 算账
	 */
	ResponseDTO<AccountDRO> account(Long orderId, Long workId);

	/**
	 * 保存算账页面
	 */
	ResponseDTO<AccountDRO> saveAccount(AccountDIO accountDIO);

	/**
	 * 取消订单
	 *
	 * @param cancelOrderDIO
	 * @return
	 */
	ResponseDTO cancelOrder(CancelOrderDIO cancelOrderDIO);

	/**
	 * 优惠
	 * @param
	 * @return
	 */
	ResponseDTO<OrderDiscountDRO> discount(Long orderId, Long workId);

	/**
	 * 保存优惠
	 *
	 * @param discountDIO
	 * @return
	 */
	ResponseDTO saveDiscount(DiscountDIO discountDIO);

	/**
	 * 退款
	 *
	 * @return
	 */
	ResponseDTO refund(Long orderId, Long workId);

	/**
	 * 保存退款
	 *
	 * @param refundDIO
	 * @return
	 */
	ResponseDTO saveRefund(RefundDIO refundDIO);

	/**
	 * 返修单检查
	 *
	 * @param
	 * @return
	 */
	ResponseDTO checkReworkOrder(CheckReworkOrderDIO checkReworkOrderDIO);

}
